
The common methodology employed when using Feedback Directed Optimization
(\FDO\) is to perform a single-run point profiles, and subsequently evaluate the performance
results from a single-input. This research uses a different approach and its goal is to assess
the results of a new methodology, the {\em combined profiling} (\CP\). There have been some
recent efforts trying to apply multiple profiles to \FDO\, and also to evaluate the performance
of a program from multiple inputs. The methodology can be applied to many different
optimization techniques, so we decided to apply it to a simple and general technique
which allows many other optimization techniques to be performed afterwards, we chose
inlining. Doing so we were challenged to define better strategies and also to search for
better parameter values. This paper shows our results on evaluating \CP\ and the application
case for inlining.

%This paper assesses {\em combined profiling} (CP): a practical
%methodology to produce statistically sound combined profiles from
%multiple runs of a program.  Combining profiles is often necessary to
%properly characterize the behavior of a program to support
%Feedback-Directed Optimization (FDO).  Previous publications described
%the \CP\ methodology, hence the approach here is to evaluate how to
%improve the compiler system parameters and algorithms.  The parameters
%were tuned in, and the choices made by the main algorithm, defining which
%functions were to be inlined, was assessed by comparing its outcome with
%random choices.  A slight change to the algorithm was also empirically
%evaluated trying to improve its result by introducing a knapsack view
%of the problem. The compiler system and the \CP\ methodology were
%evaluated in \llvm\ using SPEC CPU 2006 benchmarks.

%\CP\ models program behaviors
%over multiple runs by estimating their empirical distributions,
%providing the inferential power of probability distributions to code
%transformations.  These distributions are build from traditional
%single-run point profiles; no new profiling infrastructure is
%required.  The small fixed size of this data representation keeps
%profile sizes, and the computational costs of profile queries,
%independent of the number of profiles combined.  However, when using
%even a single program run, a \CP\ maintains the information available
%in the point profile, allowing \CP\ to be used as a drop-in
%replacement for existing techniques. The quality of the information
%generated by the \CP\ methodology is evaluated in \llvm\ using SPEC
%CPU 2006 benchmarks.
